// Copyright 2020 Google LLC All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This code was autogenerated. Do not edit directly.
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: sdk.proto

#ifndef PROTOBUF_INCLUDED_sdk_2eproto
#define PROTOBUF_INCLUDED_sdk_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3007000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3007000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/inlined_string_field.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/map.h>  // IWYU pragma: export
#include <google/protobuf/map_entry.h>
#include <google/protobuf/map_field_inl.h>
#include <google/protobuf/unknown_field_set.h>
#include "google/api/annotations.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_sdk_2eproto AGONES_EXPORT

// Internal implementation detail -- do not use these members.
struct AGONES_EXPORT TableStruct_sdk_2eproto {
  static const ::google::protobuf::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::google::protobuf::internal::ParseTable schema[12]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AGONES_EXPORT AddDescriptors_sdk_2eproto();
namespace agones {
namespace dev {
namespace sdk {
class Duration;
class DurationDefaultTypeInternal;
AGONES_EXPORT extern DurationDefaultTypeInternal _Duration_default_instance_;
class Empty;
class EmptyDefaultTypeInternal;
AGONES_EXPORT extern EmptyDefaultTypeInternal _Empty_default_instance_;
class GameServer;
class GameServerDefaultTypeInternal;
AGONES_EXPORT extern GameServerDefaultTypeInternal _GameServer_default_instance_;
class GameServer_ObjectMeta;
class GameServer_ObjectMetaDefaultTypeInternal;
AGONES_EXPORT extern GameServer_ObjectMetaDefaultTypeInternal _GameServer_ObjectMeta_default_instance_;
class GameServer_ObjectMeta_AnnotationsEntry_DoNotUse;
class GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal _GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_;
class GameServer_ObjectMeta_LabelsEntry_DoNotUse;
class GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal _GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_;
class GameServer_Spec;
class GameServer_SpecDefaultTypeInternal;
AGONES_EXPORT extern GameServer_SpecDefaultTypeInternal _GameServer_Spec_default_instance_;
class GameServer_Spec_Health;
class GameServer_Spec_HealthDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Spec_HealthDefaultTypeInternal _GameServer_Spec_Health_default_instance_;
class GameServer_Status;
class GameServer_StatusDefaultTypeInternal;
AGONES_EXPORT extern GameServer_StatusDefaultTypeInternal _GameServer_Status_default_instance_;
class GameServer_Status_PlayerStatus;
class GameServer_Status_PlayerStatusDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_PlayerStatusDefaultTypeInternal _GameServer_Status_PlayerStatus_default_instance_;
class GameServer_Status_Port;
class GameServer_Status_PortDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_PortDefaultTypeInternal _GameServer_Status_Port_default_instance_;
class KeyValue;
class KeyValueDefaultTypeInternal;
AGONES_EXPORT extern KeyValueDefaultTypeInternal _KeyValue_default_instance_;
}  // namespace sdk
}  // namespace dev
}  // namespace agones
namespace google {
namespace protobuf {
template<> AGONES_EXPORT ::agones::dev::sdk::Duration* Arena::CreateMaybeMessage<::agones::dev::sdk::Duration>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::Empty* Arena::CreateMaybeMessage<::agones::dev::sdk::Empty>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_ObjectMeta* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Spec* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Spec_Health* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec_Health>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Status* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Status>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Status_PlayerStatus* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Status_PlayerStatus>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Status_Port* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Status_Port>(Arena*);
template<> AGONES_EXPORT ::agones::dev::sdk::KeyValue* Arena::CreateMaybeMessage<::agones::dev::sdk::KeyValue>(Arena*);
}  // namespace protobuf
}  // namespace google
namespace agones {
namespace dev {
namespace sdk {

// ===================================================================

class AGONES_EXPORT Empty final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.Empty) */ {
 public:
  Empty();
  virtual ~Empty();

  Empty(const Empty& from);

  inline Empty& operator=(const Empty& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Empty(Empty&& from) noexcept
    : Empty() {
    *this = ::std::move(from);
  }

  inline Empty& operator=(Empty&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const Empty& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Empty* internal_default_instance() {
    return reinterpret_cast<const Empty*>(
               &_Empty_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  void Swap(Empty* other);
  friend void swap(Empty& a, Empty& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline Empty* New() const final {
    return CreateMaybeMessage<Empty>(nullptr);
  }

  Empty* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<Empty>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const Empty& from);
  void MergeFrom(const Empty& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Empty* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.Empty)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT KeyValue final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.KeyValue) */ {
 public:
  KeyValue();
  virtual ~KeyValue();

  KeyValue(const KeyValue& from);

  inline KeyValue& operator=(const KeyValue& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  KeyValue(KeyValue&& from) noexcept
    : KeyValue() {
    *this = ::std::move(from);
  }

  inline KeyValue& operator=(KeyValue&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const KeyValue& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const KeyValue* internal_default_instance() {
    return reinterpret_cast<const KeyValue*>(
               &_KeyValue_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  void Swap(KeyValue* other);
  friend void swap(KeyValue& a, KeyValue& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline KeyValue* New() const final {
    return CreateMaybeMessage<KeyValue>(nullptr);
  }

  KeyValue* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<KeyValue>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const KeyValue& from);
  void MergeFrom(const KeyValue& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(KeyValue* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // string key = 1;
  void clear_key();
  static const int kKeyFieldNumber = 1;
  const ::std::string& key() const;
  void set_key(const ::std::string& value);
  #if LANG_CXX11
  void set_key(::std::string&& value);
  #endif
  void set_key(const char* value);
  void set_key(const char* value, size_t size);
  ::std::string* mutable_key();
  ::std::string* release_key();
  void set_allocated_key(::std::string* key);

  // string value = 2;
  void clear_value();
  static const int kValueFieldNumber = 2;
  const ::std::string& value() const;
  void set_value(const ::std::string& value);
  #if LANG_CXX11
  void set_value(::std::string&& value);
  #endif
  void set_value(const char* value);
  void set_value(const char* value, size_t size);
  ::std::string* mutable_value();
  ::std::string* release_value();
  void set_allocated_value(::std::string* value);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.KeyValue)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr key_;
  ::google::protobuf::internal::ArenaStringPtr value_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT Duration final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.Duration) */ {
 public:
  Duration();
  virtual ~Duration();

  Duration(const Duration& from);

  inline Duration& operator=(const Duration& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Duration(Duration&& from) noexcept
    : Duration() {
    *this = ::std::move(from);
  }

  inline Duration& operator=(Duration&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const Duration& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Duration* internal_default_instance() {
    return reinterpret_cast<const Duration*>(
               &_Duration_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  void Swap(Duration* other);
  friend void swap(Duration& a, Duration& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline Duration* New() const final {
    return CreateMaybeMessage<Duration>(nullptr);
  }

  Duration* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<Duration>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const Duration& from);
  void MergeFrom(const Duration& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Duration* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // int64 seconds = 1;
  void clear_seconds();
  static const int kSecondsFieldNumber = 1;
  ::google::protobuf::int64 seconds() const;
  void set_seconds(::google::protobuf::int64 value);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.Duration)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int64 seconds_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class GameServer_ObjectMeta_AnnotationsEntry_DoNotUse : public ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, 
    ::std::string, ::std::string,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    0 > {
public:
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
static bool _ParseMap(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  typedef ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, 
    ::std::string, ::std::string,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    0 > SuperType;
  GameServer_ObjectMeta_AnnotationsEntry_DoNotUse();
  GameServer_ObjectMeta_AnnotationsEntry_DoNotUse(::google::protobuf::Arena* arena);
  void MergeFrom(const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse& other);
  static const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse*>(&_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_); }
  void MergeFrom(const ::google::protobuf::Message& other) final;
  ::google::protobuf::Metadata GetMetadata() const;
};

// -------------------------------------------------------------------

class GameServer_ObjectMeta_LabelsEntry_DoNotUse : public ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_LabelsEntry_DoNotUse, 
    ::std::string, ::std::string,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    0 > {
public:
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
static bool _ParseMap(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  typedef ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_LabelsEntry_DoNotUse, 
    ::std::string, ::std::string,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    0 > SuperType;
  GameServer_ObjectMeta_LabelsEntry_DoNotUse();
  GameServer_ObjectMeta_LabelsEntry_DoNotUse(::google::protobuf::Arena* arena);
  void MergeFrom(const GameServer_ObjectMeta_LabelsEntry_DoNotUse& other);
  static const GameServer_ObjectMeta_LabelsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const GameServer_ObjectMeta_LabelsEntry_DoNotUse*>(&_GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_); }
  void MergeFrom(const ::google::protobuf::Message& other) final;
  ::google::protobuf::Metadata GetMetadata() const;
};

// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_ObjectMeta final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.ObjectMeta) */ {
 public:
  GameServer_ObjectMeta();
  virtual ~GameServer_ObjectMeta();

  GameServer_ObjectMeta(const GameServer_ObjectMeta& from);

  inline GameServer_ObjectMeta& operator=(const GameServer_ObjectMeta& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer_ObjectMeta(GameServer_ObjectMeta&& from) noexcept
    : GameServer_ObjectMeta() {
    *this = ::std::move(from);
  }

  inline GameServer_ObjectMeta& operator=(GameServer_ObjectMeta&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer_ObjectMeta& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer_ObjectMeta* internal_default_instance() {
    return reinterpret_cast<const GameServer_ObjectMeta*>(
               &_GameServer_ObjectMeta_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  void Swap(GameServer_ObjectMeta* other);
  friend void swap(GameServer_ObjectMeta& a, GameServer_ObjectMeta& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer_ObjectMeta* New() const final {
    return CreateMaybeMessage<GameServer_ObjectMeta>(nullptr);
  }

  GameServer_ObjectMeta* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer_ObjectMeta>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer_ObjectMeta& from);
  void MergeFrom(const GameServer_ObjectMeta& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer_ObjectMeta* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------


  // accessors -------------------------------------------------------

  // map<string, string> annotations = 8;
  int annotations_size() const;
  void clear_annotations();
  static const int kAnnotationsFieldNumber = 8;
  const ::google::protobuf::Map< ::std::string, ::std::string >&
      annotations() const;
  ::google::protobuf::Map< ::std::string, ::std::string >*
      mutable_annotations();

  // map<string, string> labels = 9;
  int labels_size() const;
  void clear_labels();
  static const int kLabelsFieldNumber = 9;
  const ::google::protobuf::Map< ::std::string, ::std::string >&
      labels() const;
  ::google::protobuf::Map< ::std::string, ::std::string >*
      mutable_labels();

  // string name = 1;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // string namespace = 2;
  void clear_namespace_();
  static const int kNamespaceFieldNumber = 2;
  const ::std::string& namespace_() const;
  void set_namespace_(const ::std::string& value);
  #if LANG_CXX11
  void set_namespace_(::std::string&& value);
  #endif
  void set_namespace_(const char* value);
  void set_namespace_(const char* value, size_t size);
  ::std::string* mutable_namespace_();
  ::std::string* release_namespace_();
  void set_allocated_namespace_(::std::string* namespace_);

  // string uid = 3;
  void clear_uid();
  static const int kUidFieldNumber = 3;
  const ::std::string& uid() const;
  void set_uid(const ::std::string& value);
  #if LANG_CXX11
  void set_uid(::std::string&& value);
  #endif
  void set_uid(const char* value);
  void set_uid(const char* value, size_t size);
  ::std::string* mutable_uid();
  ::std::string* release_uid();
  void set_allocated_uid(::std::string* uid);

  // string resource_version = 4;
  void clear_resource_version();
  static const int kResourceVersionFieldNumber = 4;
  const ::std::string& resource_version() const;
  void set_resource_version(const ::std::string& value);
  #if LANG_CXX11
  void set_resource_version(::std::string&& value);
  #endif
  void set_resource_version(const char* value);
  void set_resource_version(const char* value, size_t size);
  ::std::string* mutable_resource_version();
  ::std::string* release_resource_version();
  void set_allocated_resource_version(::std::string* resource_version);

  // int64 generation = 5;
  void clear_generation();
  static const int kGenerationFieldNumber = 5;
  ::google::protobuf::int64 generation() const;
  void set_generation(::google::protobuf::int64 value);

  // int64 creation_timestamp = 6;
  void clear_creation_timestamp();
  static const int kCreationTimestampFieldNumber = 6;
  ::google::protobuf::int64 creation_timestamp() const;
  void set_creation_timestamp(::google::protobuf::int64 value);

  // int64 deletion_timestamp = 7;
  void clear_deletion_timestamp();
  static const int kDeletionTimestampFieldNumber = 7;
  ::google::protobuf::int64 deletion_timestamp() const;
  void set_deletion_timestamp(::google::protobuf::int64 value);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.ObjectMeta)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::MapField<
      GameServer_ObjectMeta_AnnotationsEntry_DoNotUse,
      ::std::string, ::std::string,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      0 > annotations_;
  ::google::protobuf::internal::MapField<
      GameServer_ObjectMeta_LabelsEntry_DoNotUse,
      ::std::string, ::std::string,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      0 > labels_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  ::google::protobuf::internal::ArenaStringPtr namespace__;
  ::google::protobuf::internal::ArenaStringPtr uid_;
  ::google::protobuf::internal::ArenaStringPtr resource_version_;
  ::google::protobuf::int64 generation_;
  ::google::protobuf::int64 creation_timestamp_;
  ::google::protobuf::int64 deletion_timestamp_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Spec_Health final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Spec.Health) */ {
 public:
  GameServer_Spec_Health();
  virtual ~GameServer_Spec_Health();

  GameServer_Spec_Health(const GameServer_Spec_Health& from);

  inline GameServer_Spec_Health& operator=(const GameServer_Spec_Health& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer_Spec_Health(GameServer_Spec_Health&& from) noexcept
    : GameServer_Spec_Health() {
    *this = ::std::move(from);
  }

  inline GameServer_Spec_Health& operator=(GameServer_Spec_Health&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer_Spec_Health& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer_Spec_Health* internal_default_instance() {
    return reinterpret_cast<const GameServer_Spec_Health*>(
               &_GameServer_Spec_Health_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  void Swap(GameServer_Spec_Health* other);
  friend void swap(GameServer_Spec_Health& a, GameServer_Spec_Health& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer_Spec_Health* New() const final {
    return CreateMaybeMessage<GameServer_Spec_Health>(nullptr);
  }

  GameServer_Spec_Health* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer_Spec_Health>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer_Spec_Health& from);
  void MergeFrom(const GameServer_Spec_Health& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer_Spec_Health* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // bool disabled = 1;
  void clear_disabled();
  static const int kDisabledFieldNumber = 1;
  bool disabled() const;
  void set_disabled(bool value);

  // int32 period_seconds = 2;
  void clear_period_seconds();
  static const int kPeriodSecondsFieldNumber = 2;
  ::google::protobuf::int32 period_seconds() const;
  void set_period_seconds(::google::protobuf::int32 value);

  // int32 failure_threshold = 3;
  void clear_failure_threshold();
  static const int kFailureThresholdFieldNumber = 3;
  ::google::protobuf::int32 failure_threshold() const;
  void set_failure_threshold(::google::protobuf::int32 value);

  // int32 initial_delay_seconds = 4;
  void clear_initial_delay_seconds();
  static const int kInitialDelaySecondsFieldNumber = 4;
  ::google::protobuf::int32 initial_delay_seconds() const;
  void set_initial_delay_seconds(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Spec.Health)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  bool disabled_;
  ::google::protobuf::int32 period_seconds_;
  ::google::protobuf::int32 failure_threshold_;
  ::google::protobuf::int32 initial_delay_seconds_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Spec final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Spec) */ {
 public:
  GameServer_Spec();
  virtual ~GameServer_Spec();

  GameServer_Spec(const GameServer_Spec& from);

  inline GameServer_Spec& operator=(const GameServer_Spec& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer_Spec(GameServer_Spec&& from) noexcept
    : GameServer_Spec() {
    *this = ::std::move(from);
  }

  inline GameServer_Spec& operator=(GameServer_Spec&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer_Spec& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer_Spec* internal_default_instance() {
    return reinterpret_cast<const GameServer_Spec*>(
               &_GameServer_Spec_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  void Swap(GameServer_Spec* other);
  friend void swap(GameServer_Spec& a, GameServer_Spec& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer_Spec* New() const final {
    return CreateMaybeMessage<GameServer_Spec>(nullptr);
  }

  GameServer_Spec* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer_Spec>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer_Spec& from);
  void MergeFrom(const GameServer_Spec& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer_Spec* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef GameServer_Spec_Health Health;

  // accessors -------------------------------------------------------

  // .agones.dev.sdk.GameServer.Spec.Health health = 1;
  bool has_health() const;
  void clear_health();
  static const int kHealthFieldNumber = 1;
  const ::agones::dev::sdk::GameServer_Spec_Health& health() const;
  ::agones::dev::sdk::GameServer_Spec_Health* release_health();
  ::agones::dev::sdk::GameServer_Spec_Health* mutable_health();
  void set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* health);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Spec)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::agones::dev::sdk::GameServer_Spec_Health* health_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_Port final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.Port) */ {
 public:
  GameServer_Status_Port();
  virtual ~GameServer_Status_Port();

  GameServer_Status_Port(const GameServer_Status_Port& from);

  inline GameServer_Status_Port& operator=(const GameServer_Status_Port& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer_Status_Port(GameServer_Status_Port&& from) noexcept
    : GameServer_Status_Port() {
    *this = ::std::move(from);
  }

  inline GameServer_Status_Port& operator=(GameServer_Status_Port&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer_Status_Port& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer_Status_Port* internal_default_instance() {
    return reinterpret_cast<const GameServer_Status_Port*>(
               &_GameServer_Status_Port_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  void Swap(GameServer_Status_Port* other);
  friend void swap(GameServer_Status_Port& a, GameServer_Status_Port& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer_Status_Port* New() const final {
    return CreateMaybeMessage<GameServer_Status_Port>(nullptr);
  }

  GameServer_Status_Port* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer_Status_Port>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer_Status_Port& from);
  void MergeFrom(const GameServer_Status_Port& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer_Status_Port* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // string name = 1;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // int32 port = 2;
  void clear_port();
  static const int kPortFieldNumber = 2;
  ::google::protobuf::int32 port() const;
  void set_port(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.Port)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  ::google::protobuf::int32 port_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_PlayerStatus final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.PlayerStatus) */ {
 public:
  GameServer_Status_PlayerStatus();
  virtual ~GameServer_Status_PlayerStatus();

  GameServer_Status_PlayerStatus(const GameServer_Status_PlayerStatus& from);

  inline GameServer_Status_PlayerStatus& operator=(const GameServer_Status_PlayerStatus& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer_Status_PlayerStatus(GameServer_Status_PlayerStatus&& from) noexcept
    : GameServer_Status_PlayerStatus() {
    *this = ::std::move(from);
  }

  inline GameServer_Status_PlayerStatus& operator=(GameServer_Status_PlayerStatus&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer_Status_PlayerStatus& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer_Status_PlayerStatus* internal_default_instance() {
    return reinterpret_cast<const GameServer_Status_PlayerStatus*>(
               &_GameServer_Status_PlayerStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  void Swap(GameServer_Status_PlayerStatus* other);
  friend void swap(GameServer_Status_PlayerStatus& a, GameServer_Status_PlayerStatus& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer_Status_PlayerStatus* New() const final {
    return CreateMaybeMessage<GameServer_Status_PlayerStatus>(nullptr);
  }

  GameServer_Status_PlayerStatus* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer_Status_PlayerStatus>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer_Status_PlayerStatus& from);
  void MergeFrom(const GameServer_Status_PlayerStatus& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer_Status_PlayerStatus* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated string ids = 3;
  int ids_size() const;
  void clear_ids();
  static const int kIdsFieldNumber = 3;
  const ::std::string& ids(int index) const;
  ::std::string* mutable_ids(int index);
  void set_ids(int index, const ::std::string& value);
  #if LANG_CXX11
  void set_ids(int index, ::std::string&& value);
  #endif
  void set_ids(int index, const char* value);
  void set_ids(int index, const char* value, size_t size);
  ::std::string* add_ids();
  void add_ids(const ::std::string& value);
  #if LANG_CXX11
  void add_ids(::std::string&& value);
  #endif
  void add_ids(const char* value);
  void add_ids(const char* value, size_t size);
  const ::google::protobuf::RepeatedPtrField<::std::string>& ids() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* mutable_ids();

  // int64 count = 1;
  void clear_count();
  static const int kCountFieldNumber = 1;
  ::google::protobuf::int64 count() const;
  void set_count(::google::protobuf::int64 value);

  // int64 capacity = 2;
  void clear_capacity();
  static const int kCapacityFieldNumber = 2;
  ::google::protobuf::int64 capacity() const;
  void set_capacity(::google::protobuf::int64 value);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.PlayerStatus)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::RepeatedPtrField<::std::string> ids_;
  ::google::protobuf::int64 count_;
  ::google::protobuf::int64 capacity_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status) */ {
 public:
  GameServer_Status();
  virtual ~GameServer_Status();

  GameServer_Status(const GameServer_Status& from);

  inline GameServer_Status& operator=(const GameServer_Status& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer_Status(GameServer_Status&& from) noexcept
    : GameServer_Status() {
    *this = ::std::move(from);
  }

  inline GameServer_Status& operator=(GameServer_Status&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer_Status& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer_Status* internal_default_instance() {
    return reinterpret_cast<const GameServer_Status*>(
               &_GameServer_Status_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  void Swap(GameServer_Status* other);
  friend void swap(GameServer_Status& a, GameServer_Status& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer_Status* New() const final {
    return CreateMaybeMessage<GameServer_Status>(nullptr);
  }

  GameServer_Status* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer_Status>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer_Status& from);
  void MergeFrom(const GameServer_Status& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer_Status* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef GameServer_Status_Port Port;
  typedef GameServer_Status_PlayerStatus PlayerStatus;

  // accessors -------------------------------------------------------

  // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
  int ports_size() const;
  void clear_ports();
  static const int kPortsFieldNumber = 3;
  ::agones::dev::sdk::GameServer_Status_Port* mutable_ports(int index);
  ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >*
      mutable_ports();
  const ::agones::dev::sdk::GameServer_Status_Port& ports(int index) const;
  ::agones::dev::sdk::GameServer_Status_Port* add_ports();
  const ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >&
      ports() const;

  // string state = 1;
  void clear_state();
  static const int kStateFieldNumber = 1;
  const ::std::string& state() const;
  void set_state(const ::std::string& value);
  #if LANG_CXX11
  void set_state(::std::string&& value);
  #endif
  void set_state(const char* value);
  void set_state(const char* value, size_t size);
  ::std::string* mutable_state();
  ::std::string* release_state();
  void set_allocated_state(::std::string* state);

  // string address = 2;
  void clear_address();
  static const int kAddressFieldNumber = 2;
  const ::std::string& address() const;
  void set_address(const ::std::string& value);
  #if LANG_CXX11
  void set_address(::std::string&& value);
  #endif
  void set_address(const char* value);
  void set_address(const char* value, size_t size);
  ::std::string* mutable_address();
  ::std::string* release_address();
  void set_allocated_address(::std::string* address);

  // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
  bool has_players() const;
  void clear_players();
  static const int kPlayersFieldNumber = 4;
  const ::agones::dev::sdk::GameServer_Status_PlayerStatus& players() const;
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* release_players();
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* mutable_players();
  void set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* players);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port > ports_;
  ::google::protobuf::internal::ArenaStringPtr state_;
  ::google::protobuf::internal::ArenaStringPtr address_;
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* players_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer final :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer) */ {
 public:
  GameServer();
  virtual ~GameServer();

  GameServer(const GameServer& from);

  inline GameServer& operator=(const GameServer& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  GameServer(GameServer&& from) noexcept
    : GameServer() {
    *this = ::std::move(from);
  }

  inline GameServer& operator=(GameServer&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor() {
    return default_instance().GetDescriptor();
  }
  static const GameServer& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GameServer* internal_default_instance() {
    return reinterpret_cast<const GameServer*>(
               &_GameServer_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  void Swap(GameServer* other);
  friend void swap(GameServer& a, GameServer& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline GameServer* New() const final {
    return CreateMaybeMessage<GameServer>(nullptr);
  }

  GameServer* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<GameServer>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const GameServer& from);
  void MergeFrom(const GameServer& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
  #else
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GameServer* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef GameServer_ObjectMeta ObjectMeta;
  typedef GameServer_Spec Spec;
  typedef GameServer_Status Status;

  // accessors -------------------------------------------------------

  // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
  bool has_object_meta() const;
  void clear_object_meta();
  static const int kObjectMetaFieldNumber = 1;
  const ::agones::dev::sdk::GameServer_ObjectMeta& object_meta() const;
  ::agones::dev::sdk::GameServer_ObjectMeta* release_object_meta();
  ::agones::dev::sdk::GameServer_ObjectMeta* mutable_object_meta();
  void set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* object_meta);

  // .agones.dev.sdk.GameServer.Spec spec = 2;
  bool has_spec() const;
  void clear_spec();
  static const int kSpecFieldNumber = 2;
  const ::agones::dev::sdk::GameServer_Spec& spec() const;
  ::agones::dev::sdk::GameServer_Spec* release_spec();
  ::agones::dev::sdk::GameServer_Spec* mutable_spec();
  void set_allocated_spec(::agones::dev::sdk::GameServer_Spec* spec);

  // .agones.dev.sdk.GameServer.Status status = 3;
  bool has_status() const;
  void clear_status();
  static const int kStatusFieldNumber = 3;
  const ::agones::dev::sdk::GameServer_Status& status() const;
  ::agones::dev::sdk::GameServer_Status* release_status();
  ::agones::dev::sdk::GameServer_Status* mutable_status();
  void set_allocated_status(::agones::dev::sdk::GameServer_Status* status);

  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::agones::dev::sdk::GameServer_ObjectMeta* object_meta_;
  ::agones::dev::sdk::GameServer_Spec* spec_;
  ::agones::dev::sdk::GameServer_Status* status_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_sdk_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// Empty

// -------------------------------------------------------------------

// KeyValue

// string key = 1;
inline void KeyValue::clear_key() {
  key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& KeyValue::key() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.KeyValue.key)
  return key_.GetNoArena();
}
inline void KeyValue::set_key(const ::std::string& value) {
  
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.KeyValue.key)
}
#if LANG_CXX11
inline void KeyValue::set_key(::std::string&& value) {
  
  key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.KeyValue.key)
}
#endif
inline void KeyValue::set_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.KeyValue.key)
}
inline void KeyValue::set_key(const char* value, size_t size) {
  
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.KeyValue.key)
}
inline ::std::string* KeyValue::mutable_key() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.KeyValue.key)
  return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* KeyValue::release_key() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.KeyValue.key)
  
  return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void KeyValue::set_allocated_key(::std::string* key) {
  if (key != nullptr) {
    
  } else {
    
  }
  key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.KeyValue.key)
}

// string value = 2;
inline void KeyValue::clear_value() {
  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& KeyValue::value() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.KeyValue.value)
  return value_.GetNoArena();
}
inline void KeyValue::set_value(const ::std::string& value) {
  
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.KeyValue.value)
}
#if LANG_CXX11
inline void KeyValue::set_value(::std::string&& value) {
  
  value_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.KeyValue.value)
}
#endif
inline void KeyValue::set_value(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.KeyValue.value)
}
inline void KeyValue::set_value(const char* value, size_t size) {
  
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.KeyValue.value)
}
inline ::std::string* KeyValue::mutable_value() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.KeyValue.value)
  return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* KeyValue::release_value() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.KeyValue.value)
  
  return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void KeyValue::set_allocated_value(::std::string* value) {
  if (value != nullptr) {
    
  } else {
    
  }
  value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.KeyValue.value)
}

// -------------------------------------------------------------------

// Duration

// int64 seconds = 1;
inline void Duration::clear_seconds() {
  seconds_ = PROTOBUF_LONGLONG(0);
}
inline ::google::protobuf::int64 Duration::seconds() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.Duration.seconds)
  return seconds_;
}
inline void Duration::set_seconds(::google::protobuf::int64 value) {
  
  seconds_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.Duration.seconds)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// GameServer_ObjectMeta

// string name = 1;
inline void GameServer_ObjectMeta::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_ObjectMeta::name() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.name)
  return name_.GetNoArena();
}
inline void GameServer_ObjectMeta::set_name(const ::std::string& value) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.name)
}
#if LANG_CXX11
inline void GameServer_ObjectMeta::set_name(::std::string&& value) {
  
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.name)
}
#endif
inline void GameServer_ObjectMeta::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.name)
}
inline void GameServer_ObjectMeta::set_name(const char* value, size_t size) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.name)
}
inline ::std::string* GameServer_ObjectMeta::mutable_name() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_ObjectMeta::release_name() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.name)
  
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_ObjectMeta::set_allocated_name(::std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.name)
}

// string namespace = 2;
inline void GameServer_ObjectMeta::clear_namespace_() {
  namespace__.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_ObjectMeta::namespace_() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  return namespace__.GetNoArena();
}
inline void GameServer_ObjectMeta::set_namespace_(const ::std::string& value) {
  
  namespace__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}
#if LANG_CXX11
inline void GameServer_ObjectMeta::set_namespace_(::std::string&& value) {
  
  namespace__.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}
#endif
inline void GameServer_ObjectMeta::set_namespace_(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  namespace__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}
inline void GameServer_ObjectMeta::set_namespace_(const char* value, size_t size) {
  
  namespace__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}
inline ::std::string* GameServer_ObjectMeta::mutable_namespace_() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  return namespace__.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_ObjectMeta::release_namespace_() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  
  return namespace__.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_ObjectMeta::set_allocated_namespace_(::std::string* namespace_) {
  if (namespace_ != nullptr) {
    
  } else {
    
  }
  namespace__.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), namespace_);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}

// string uid = 3;
inline void GameServer_ObjectMeta::clear_uid() {
  uid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_ObjectMeta::uid() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.uid)
  return uid_.GetNoArena();
}
inline void GameServer_ObjectMeta::set_uid(const ::std::string& value) {
  
  uid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.uid)
}
#if LANG_CXX11
inline void GameServer_ObjectMeta::set_uid(::std::string&& value) {
  
  uid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.uid)
}
#endif
inline void GameServer_ObjectMeta::set_uid(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  uid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.uid)
}
inline void GameServer_ObjectMeta::set_uid(const char* value, size_t size) {
  
  uid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.uid)
}
inline ::std::string* GameServer_ObjectMeta::mutable_uid() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.uid)
  return uid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_ObjectMeta::release_uid() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.uid)
  
  return uid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_ObjectMeta::set_allocated_uid(::std::string* uid) {
  if (uid != nullptr) {
    
  } else {
    
  }
  uid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), uid);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.uid)
}

// string resource_version = 4;
inline void GameServer_ObjectMeta::clear_resource_version() {
  resource_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_ObjectMeta::resource_version() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  return resource_version_.GetNoArena();
}
inline void GameServer_ObjectMeta::set_resource_version(const ::std::string& value) {
  
  resource_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}
#if LANG_CXX11
inline void GameServer_ObjectMeta::set_resource_version(::std::string&& value) {
  
  resource_version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}
#endif
inline void GameServer_ObjectMeta::set_resource_version(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  resource_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}
inline void GameServer_ObjectMeta::set_resource_version(const char* value, size_t size) {
  
  resource_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}
inline ::std::string* GameServer_ObjectMeta::mutable_resource_version() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  return resource_version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_ObjectMeta::release_resource_version() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  
  return resource_version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_ObjectMeta::set_allocated_resource_version(::std::string* resource_version) {
  if (resource_version != nullptr) {
    
  } else {
    
  }
  resource_version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), resource_version);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}

// int64 generation = 5;
inline void GameServer_ObjectMeta::clear_generation() {
  generation_ = PROTOBUF_LONGLONG(0);
}
inline ::google::protobuf::int64 GameServer_ObjectMeta::generation() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.generation)
  return generation_;
}
inline void GameServer_ObjectMeta::set_generation(::google::protobuf::int64 value) {
  
  generation_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.generation)
}

// int64 creation_timestamp = 6;
inline void GameServer_ObjectMeta::clear_creation_timestamp() {
  creation_timestamp_ = PROTOBUF_LONGLONG(0);
}
inline ::google::protobuf::int64 GameServer_ObjectMeta::creation_timestamp() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.creation_timestamp)
  return creation_timestamp_;
}
inline void GameServer_ObjectMeta::set_creation_timestamp(::google::protobuf::int64 value) {
  
  creation_timestamp_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.creation_timestamp)
}

// int64 deletion_timestamp = 7;
inline void GameServer_ObjectMeta::clear_deletion_timestamp() {
  deletion_timestamp_ = PROTOBUF_LONGLONG(0);
}
inline ::google::protobuf::int64 GameServer_ObjectMeta::deletion_timestamp() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.deletion_timestamp)
  return deletion_timestamp_;
}
inline void GameServer_ObjectMeta::set_deletion_timestamp(::google::protobuf::int64 value) {
  
  deletion_timestamp_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.deletion_timestamp)
}

// map<string, string> annotations = 8;
inline int GameServer_ObjectMeta::annotations_size() const {
  return annotations_.size();
}
inline void GameServer_ObjectMeta::clear_annotations() {
  annotations_.Clear();
}
inline const ::google::protobuf::Map< ::std::string, ::std::string >&
GameServer_ObjectMeta::annotations() const {
  // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.ObjectMeta.annotations)
  return annotations_.GetMap();
}
inline ::google::protobuf::Map< ::std::string, ::std::string >*
GameServer_ObjectMeta::mutable_annotations() {
  // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.ObjectMeta.annotations)
  return annotations_.MutableMap();
}

// map<string, string> labels = 9;
inline int GameServer_ObjectMeta::labels_size() const {
  return labels_.size();
}
inline void GameServer_ObjectMeta::clear_labels() {
  labels_.Clear();
}
inline const ::google::protobuf::Map< ::std::string, ::std::string >&
GameServer_ObjectMeta::labels() const {
  // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.ObjectMeta.labels)
  return labels_.GetMap();
}
inline ::google::protobuf::Map< ::std::string, ::std::string >*
GameServer_ObjectMeta::mutable_labels() {
  // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.ObjectMeta.labels)
  return labels_.MutableMap();
}

// -------------------------------------------------------------------

// GameServer_Spec_Health

// bool disabled = 1;
inline void GameServer_Spec_Health::clear_disabled() {
  disabled_ = false;
}
inline bool GameServer_Spec_Health::disabled() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.disabled)
  return disabled_;
}
inline void GameServer_Spec_Health::set_disabled(bool value) {
  
  disabled_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.disabled)
}

// int32 period_seconds = 2;
inline void GameServer_Spec_Health::clear_period_seconds() {
  period_seconds_ = 0;
}
inline ::google::protobuf::int32 GameServer_Spec_Health::period_seconds() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.period_seconds)
  return period_seconds_;
}
inline void GameServer_Spec_Health::set_period_seconds(::google::protobuf::int32 value) {
  
  period_seconds_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.period_seconds)
}

// int32 failure_threshold = 3;
inline void GameServer_Spec_Health::clear_failure_threshold() {
  failure_threshold_ = 0;
}
inline ::google::protobuf::int32 GameServer_Spec_Health::failure_threshold() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.failure_threshold)
  return failure_threshold_;
}
inline void GameServer_Spec_Health::set_failure_threshold(::google::protobuf::int32 value) {
  
  failure_threshold_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.failure_threshold)
}

// int32 initial_delay_seconds = 4;
inline void GameServer_Spec_Health::clear_initial_delay_seconds() {
  initial_delay_seconds_ = 0;
}
inline ::google::protobuf::int32 GameServer_Spec_Health::initial_delay_seconds() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.initial_delay_seconds)
  return initial_delay_seconds_;
}
inline void GameServer_Spec_Health::set_initial_delay_seconds(::google::protobuf::int32 value) {
  
  initial_delay_seconds_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.initial_delay_seconds)
}

// -------------------------------------------------------------------

// GameServer_Spec

// .agones.dev.sdk.GameServer.Spec.Health health = 1;
inline bool GameServer_Spec::has_health() const {
  return this != internal_default_instance() && health_ != nullptr;
}
inline void GameServer_Spec::clear_health() {
  if (GetArenaNoVirtual() == nullptr && health_ != nullptr) {
    delete health_;
  }
  health_ = nullptr;
}
inline const ::agones::dev::sdk::GameServer_Spec_Health& GameServer_Spec::health() const {
  const ::agones::dev::sdk::GameServer_Spec_Health* p = health_;
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.health)
  return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Spec_Health*>(
      &::agones::dev::sdk::_GameServer_Spec_Health_default_instance_);
}
inline ::agones::dev::sdk::GameServer_Spec_Health* GameServer_Spec::release_health() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Spec.health)
  
  ::agones::dev::sdk::GameServer_Spec_Health* temp = health_;
  health_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Spec_Health* GameServer_Spec::mutable_health() {
  
  if (health_ == nullptr) {
    auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec_Health>(GetArenaNoVirtual());
    health_ = p;
  }
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Spec.health)
  return health_;
}
inline void GameServer_Spec::set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* health) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete health_;
  }
  if (health) {
    ::google::protobuf::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      health = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, health, submessage_arena);
    }
    
  } else {
    
  }
  health_ = health;
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Spec.health)
}

// -------------------------------------------------------------------

// GameServer_Status_Port

// string name = 1;
inline void GameServer_Status_Port::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_Status_Port::name() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Port.name)
  return name_.GetNoArena();
}
inline void GameServer_Status_Port::set_name(const ::std::string& value) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Port.name)
}
#if LANG_CXX11
inline void GameServer_Status_Port::set_name(::std::string&& value) {
  
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.Status.Port.name)
}
#endif
inline void GameServer_Status_Port::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.Port.name)
}
inline void GameServer_Status_Port::set_name(const char* value, size_t size) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.Port.name)
}
inline ::std::string* GameServer_Status_Port::mutable_name() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.Port.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_Status_Port::release_name() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.Port.name)
  
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_Status_Port::set_allocated_name(::std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.Port.name)
}

// int32 port = 2;
inline void GameServer_Status_Port::clear_port() {
  port_ = 0;
}
inline ::google::protobuf::int32 GameServer_Status_Port::port() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Port.port)
  return port_;
}
inline void GameServer_Status_Port::set_port(::google::protobuf::int32 value) {
  
  port_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Port.port)
}

// -------------------------------------------------------------------

// GameServer_Status_PlayerStatus

// int64 count = 1;
inline void GameServer_Status_PlayerStatus::clear_count() {
  count_ = PROTOBUF_LONGLONG(0);
}
inline ::google::protobuf::int64 GameServer_Status_PlayerStatus::count() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.count)
  return count_;
}
inline void GameServer_Status_PlayerStatus::set_count(::google::protobuf::int64 value) {
  
  count_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.count)
}

// int64 capacity = 2;
inline void GameServer_Status_PlayerStatus::clear_capacity() {
  capacity_ = PROTOBUF_LONGLONG(0);
}
inline ::google::protobuf::int64 GameServer_Status_PlayerStatus::capacity() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.capacity)
  return capacity_;
}
inline void GameServer_Status_PlayerStatus::set_capacity(::google::protobuf::int64 value) {
  
  capacity_ = value;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.capacity)
}

// repeated string ids = 3;
inline int GameServer_Status_PlayerStatus::ids_size() const {
  return ids_.size();
}
inline void GameServer_Status_PlayerStatus::clear_ids() {
  ids_.Clear();
}
inline const ::std::string& GameServer_Status_PlayerStatus::ids(int index) const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return ids_.Get(index);
}
inline ::std::string* GameServer_Status_PlayerStatus::mutable_ids(int index) {
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return ids_.Mutable(index);
}
inline void GameServer_Status_PlayerStatus::set_ids(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  ids_.Mutable(index)->assign(value);
}
#if LANG_CXX11
inline void GameServer_Status_PlayerStatus::set_ids(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  ids_.Mutable(index)->assign(std::move(value));
}
#endif
inline void GameServer_Status_PlayerStatus::set_ids(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  ids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
inline void GameServer_Status_PlayerStatus::set_ids(int index, const char* value, size_t size) {
  ids_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
inline ::std::string* GameServer_Status_PlayerStatus::add_ids() {
  // @@protoc_insertion_point(field_add_mutable:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return ids_.Add();
}
inline void GameServer_Status_PlayerStatus::add_ids(const ::std::string& value) {
  ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
#if LANG_CXX11
inline void GameServer_Status_PlayerStatus::add_ids(::std::string&& value) {
  ids_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
#endif
inline void GameServer_Status_PlayerStatus::add_ids(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
inline void GameServer_Status_PlayerStatus::add_ids(const char* value, size_t size) {
  ids_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
GameServer_Status_PlayerStatus::ids() const {
  // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return ids_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>*
GameServer_Status_PlayerStatus::mutable_ids() {
  // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return &ids_;
}

// -------------------------------------------------------------------

// GameServer_Status

// string state = 1;
inline void GameServer_Status::clear_state() {
  state_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_Status::state() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.state)
  return state_.GetNoArena();
}
inline void GameServer_Status::set_state(const ::std::string& value) {
  
  state_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.state)
}
#if LANG_CXX11
inline void GameServer_Status::set_state(::std::string&& value) {
  
  state_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.Status.state)
}
#endif
inline void GameServer_Status::set_state(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  state_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.state)
}
inline void GameServer_Status::set_state(const char* value, size_t size) {
  
  state_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.state)
}
inline ::std::string* GameServer_Status::mutable_state() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.state)
  return state_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_Status::release_state() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.state)
  
  return state_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_Status::set_allocated_state(::std::string* state) {
  if (state != nullptr) {
    
  } else {
    
  }
  state_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), state);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.state)
}

// string address = 2;
inline void GameServer_Status::clear_address() {
  address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& GameServer_Status::address() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.address)
  return address_.GetNoArena();
}
inline void GameServer_Status::set_address(const ::std::string& value) {
  
  address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.address)
}
#if LANG_CXX11
inline void GameServer_Status::set_address(::std::string&& value) {
  
  address_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.Status.address)
}
#endif
inline void GameServer_Status::set_address(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.address)
}
inline void GameServer_Status::set_address(const char* value, size_t size) {
  
  address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.address)
}
inline ::std::string* GameServer_Status::mutable_address() {
  
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.address)
  return address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* GameServer_Status::release_address() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.address)
  
  return address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void GameServer_Status::set_allocated_address(::std::string* address) {
  if (address != nullptr) {
    
  } else {
    
  }
  address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), address);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.address)
}

// repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
inline int GameServer_Status::ports_size() const {
  return ports_.size();
}
inline void GameServer_Status::clear_ports() {
  ports_.Clear();
}
inline ::agones::dev::sdk::GameServer_Status_Port* GameServer_Status::mutable_ports(int index) {
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.ports)
  return ports_.Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >*
GameServer_Status::mutable_ports() {
  // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.ports)
  return &ports_;
}
inline const ::agones::dev::sdk::GameServer_Status_Port& GameServer_Status::ports(int index) const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.ports)
  return ports_.Get(index);
}
inline ::agones::dev::sdk::GameServer_Status_Port* GameServer_Status::add_ports() {
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.ports)
  return ports_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >&
GameServer_Status::ports() const {
  // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.ports)
  return ports_;
}

// .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
inline bool GameServer_Status::has_players() const {
  return this != internal_default_instance() && players_ != nullptr;
}
inline void GameServer_Status::clear_players() {
  if (GetArenaNoVirtual() == nullptr && players_ != nullptr) {
    delete players_;
  }
  players_ = nullptr;
}
inline const ::agones::dev::sdk::GameServer_Status_PlayerStatus& GameServer_Status::players() const {
  const ::agones::dev::sdk::GameServer_Status_PlayerStatus* p = players_;
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.players)
  return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Status_PlayerStatus*>(
      &::agones::dev::sdk::_GameServer_Status_PlayerStatus_default_instance_);
}
inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* GameServer_Status::release_players() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.players)
  
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* temp = players_;
  players_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* GameServer_Status::mutable_players() {
  
  if (players_ == nullptr) {
    auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Status_PlayerStatus>(GetArenaNoVirtual());
    players_ = p;
  }
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.players)
  return players_;
}
inline void GameServer_Status::set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* players) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete players_;
  }
  if (players) {
    ::google::protobuf::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      players = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, players, submessage_arena);
    }
    
  } else {
    
  }
  players_ = players;
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.players)
}

// -------------------------------------------------------------------

// GameServer

// .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
inline bool GameServer::has_object_meta() const {
  return this != internal_default_instance() && object_meta_ != nullptr;
}
inline void GameServer::clear_object_meta() {
  if (GetArenaNoVirtual() == nullptr && object_meta_ != nullptr) {
    delete object_meta_;
  }
  object_meta_ = nullptr;
}
inline const ::agones::dev::sdk::GameServer_ObjectMeta& GameServer::object_meta() const {
  const ::agones::dev::sdk::GameServer_ObjectMeta* p = object_meta_;
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.object_meta)
  return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_ObjectMeta*>(
      &::agones::dev::sdk::_GameServer_ObjectMeta_default_instance_);
}
inline ::agones::dev::sdk::GameServer_ObjectMeta* GameServer::release_object_meta() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.object_meta)
  
  ::agones::dev::sdk::GameServer_ObjectMeta* temp = object_meta_;
  object_meta_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_ObjectMeta* GameServer::mutable_object_meta() {
  
  if (object_meta_ == nullptr) {
    auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta>(GetArenaNoVirtual());
    object_meta_ = p;
  }
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.object_meta)
  return object_meta_;
}
inline void GameServer::set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* object_meta) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete object_meta_;
  }
  if (object_meta) {
    ::google::protobuf::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      object_meta = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, object_meta, submessage_arena);
    }
    
  } else {
    
  }
  object_meta_ = object_meta;
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.object_meta)
}

// .agones.dev.sdk.GameServer.Spec spec = 2;
inline bool GameServer::has_spec() const {
  return this != internal_default_instance() && spec_ != nullptr;
}
inline void GameServer::clear_spec() {
  if (GetArenaNoVirtual() == nullptr && spec_ != nullptr) {
    delete spec_;
  }
  spec_ = nullptr;
}
inline const ::agones::dev::sdk::GameServer_Spec& GameServer::spec() const {
  const ::agones::dev::sdk::GameServer_Spec* p = spec_;
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.spec)
  return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Spec*>(
      &::agones::dev::sdk::_GameServer_Spec_default_instance_);
}
inline ::agones::dev::sdk::GameServer_Spec* GameServer::release_spec() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.spec)
  
  ::agones::dev::sdk::GameServer_Spec* temp = spec_;
  spec_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Spec* GameServer::mutable_spec() {
  
  if (spec_ == nullptr) {
    auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec>(GetArenaNoVirtual());
    spec_ = p;
  }
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.spec)
  return spec_;
}
inline void GameServer::set_allocated_spec(::agones::dev::sdk::GameServer_Spec* spec) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete spec_;
  }
  if (spec) {
    ::google::protobuf::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      spec = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, spec, submessage_arena);
    }
    
  } else {
    
  }
  spec_ = spec;
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.spec)
}

// .agones.dev.sdk.GameServer.Status status = 3;
inline bool GameServer::has_status() const {
  return this != internal_default_instance() && status_ != nullptr;
}
inline void GameServer::clear_status() {
  if (GetArenaNoVirtual() == nullptr && status_ != nullptr) {
    delete status_;
  }
  status_ = nullptr;
}
inline const ::agones::dev::sdk::GameServer_Status& GameServer::status() const {
  const ::agones::dev::sdk::GameServer_Status* p = status_;
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.status)
  return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Status*>(
      &::agones::dev::sdk::_GameServer_Status_default_instance_);
}
inline ::agones::dev::sdk::GameServer_Status* GameServer::release_status() {
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.status)
  
  ::agones::dev::sdk::GameServer_Status* temp = status_;
  status_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Status* GameServer::mutable_status() {
  
  if (status_ == nullptr) {
    auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Status>(GetArenaNoVirtual());
    status_ = p;
  }
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.status)
  return status_;
}
inline void GameServer::set_allocated_status(::agones::dev::sdk::GameServer_Status* status) {
  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete status_;
  }
  if (status) {
    ::google::protobuf::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      status = ::google::protobuf::internal::GetOwnedMessage(
          message_arena, status, submessage_arena);
    }
    
  } else {
    
  }
  status_ = status;
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.status)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace sdk
}  // namespace dev
}  // namespace agones

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // PROTOBUF_INCLUDED_sdk_2eproto
